/*
  ==============================================================================

  This is an automatically generated file created by the Jucer!

  Creation date:  28 Mar 2008 9:13:40 pm

  Be careful when adding custom code to these files, as only the code within
  the "//[xyz]" and "//[/xyz]" sections will be retained when the file is loaded
  and re-saved.

  Jucer version: 1.11

  ------------------------------------------------------------------------------

  The Jucer is part of the JUCE library - "Jules' Utility Class Extensions"
  Copyright 2004-6 by Raw Material Software ltd.

  ==============================================================================
*/

//[Headers] You can add your own extra header files here...
//[/Headers]

#include "kittyEditor.h"


//[MiscUserDefs] You can add your own user definitions and misc code here...
//[/MiscUserDefs]

//==============================================================================
kittyEditor::kittyEditor (kitty *owner)
    : 
      AudioProcessorEditor (owner),
      bitDepthSlider (0),
      bitDepthLabel (0),
      sampleRateSlider (0),
      sampleRateLabel (0),
      internalCachedImage3 (0)
{
    addAndMakeVisible (bitDepthSlider = new Slider (T("Bit Depth")));
    bitDepthSlider->setTooltip (T("Bit Depth (0-32)"));
    bitDepthSlider->setRange (1, 32, 1);
    bitDepthSlider->setSliderStyle (Slider::RotaryVerticalDrag);
    bitDepthSlider->setTextBoxStyle (Slider::TextBoxBelow, false, 32, 12);
    bitDepthSlider->setColour (Slider::thumbColourId, Colour (0xffbbffbc));
    bitDepthSlider->setColour (Slider::rotarySliderFillColourId, Colour (0x7fff0097));
    bitDepthSlider->setColour (Slider::textBoxTextColourId, Colour (0xffb52cb9));
    bitDepthSlider->setColour (Slider::textBoxBackgroundColourId, Colour (0xffffff));
    bitDepthSlider->setColour (Slider::textBoxOutlineColourId, Colour (0x808080));
    bitDepthSlider->addListener (this);

    addAndMakeVisible (bitDepthLabel = new Label (T("Bit Depth"),
                                                  T("Bit Depth")));
    bitDepthLabel->setFont (Font (15.8000f, Font::bold));
    bitDepthLabel->setJustificationType (Justification::centredLeft);
    bitDepthLabel->setEditable (false, false, false);
    bitDepthLabel->setColour (Label::textColourId, Colour (0xffd35a77));
    bitDepthLabel->setColour (TextEditor::textColourId, Colours::black);
    bitDepthLabel->setColour (TextEditor::backgroundColourId, Colour (0x0));

    addAndMakeVisible (sampleRateSlider = new Slider (T("Sample Rate")));
    sampleRateSlider->setTooltip (T("Sampel Rate (0.00 - 1.00)"));
    sampleRateSlider->setRange (0, 1, 0.01);
    sampleRateSlider->setSliderStyle (Slider::RotaryVerticalDrag);
    sampleRateSlider->setTextBoxStyle (Slider::TextBoxBelow, false, 32, 12);
    sampleRateSlider->setColour (Slider::rotarySliderFillColourId, Colour (0x7f169e1d));
    sampleRateSlider->setColour (Slider::textBoxTextColourId, Colour (0xff2e9f4a));
    sampleRateSlider->setColour (Slider::textBoxBackgroundColourId, Colour (0xffffff));
    sampleRateSlider->setColour (Slider::textBoxOutlineColourId, Colour (0x808080));
    sampleRateSlider->addListener (this);

    addAndMakeVisible (sampleRateLabel = new Label (T("Sample Rate"),
                                                    T("Sample Rate")));
    sampleRateLabel->setFont (Font (15.0000f, Font::bold));
    sampleRateLabel->setJustificationType (Justification::centredLeft);
    sampleRateLabel->setEditable (false, false, false);
    sampleRateLabel->setColour (Label::textColourId, Colour (0xff066b07));
    sampleRateLabel->setColour (TextEditor::textColourId, Colours::black);
    sampleRateLabel->setColour (TextEditor::backgroundColourId, Colour (0x0));

    internalCachedImage3 = ImageCache::getFromMemory (kitty_png, kitty_pngSize);

    //[UserPreSize]
    //[/UserPreSize]

    setSize (256, 128);

    //[Constructor] You can add your own custom stuff here..

    owner->addChangeListener (this);
    bitDepthSlider->setValue ((double)(owner->getParameter (kitty::kBitDepth) * 32), false);
    sampleRateSlider->setValue (owner->getParameter (kitty::kSampleRate), false);
    //[/Constructor]
}

kittyEditor::~kittyEditor()
{
    //[Destructor_pre]. You can add your own custom destruction code here..
    //[/Destructor_pre]

    deleteAndZero (bitDepthSlider);
    deleteAndZero (bitDepthLabel);
    deleteAndZero (sampleRateSlider);
    deleteAndZero (sampleRateLabel);
    ImageCache::release (internalCachedImage3);

    //[Destructor]. You can add your own custom destruction code here..
    //[/Destructor]
}

//==============================================================================
void kittyEditor::paint (Graphics& g)
{
    //[UserPrePaint] Add your own custom painting code here..
    //[/UserPrePaint]

    g.fillAll (Colours::white);

    GradientBrush gradient_2 (Colour (0x68c7c7c7),
                              120.0f, 0.0f,
                              Colour (0x80999999),
                              120.0f, 128.0f,
                              false);
    g.setBrush (&gradient_2);
    g.fillPath (internalPath1);
    g.setColour (Colours::black);
    g.strokePath (internalPath1, PathStrokeType (0.8000f));

    g.setColour (Colours::black);
    g.drawImage (internalCachedImage3,
                 0, 0, 128, 128,
                 0, 0, internalCachedImage3->getWidth(), internalCachedImage3->getHeight());

    //[UserPaint] Add your own custom painting code here..
    //[/UserPaint]
}

void kittyEditor::resized()
{
    bitDepthSlider->setBounds (112, 8, 72, 64);
    bitDepthLabel->setBounds (184, 24, 64, 24);
    sampleRateSlider->setBounds (181, 61, 72, 64);
    sampleRateLabel->setBounds (112, 88, 72, 24);
    internalPath1.clear();
    internalPath1.startNewSubPath (0.0f, 0.0f);
    internalPath1.lineTo (256.0f, 0.0f);
    internalPath1.lineTo (256.0f, 128.0f);
    internalPath1.lineTo (0.0f, 128.0f);
    internalPath1.closeSubPath();

    //[UserResized] Add your own custom resize handling here..
    //[/UserResized]
}

void kittyEditor::sliderValueChanged (Slider* sliderThatWasMoved)
{
    //[UsersliderValueChanged_Pre]
    //[/UsersliderValueChanged_Pre]

    if (sliderThatWasMoved == bitDepthSlider)
    {
        //[UserSliderCode_bitDepthSlider] -- add your slider handling code here..
	getFilter()->setBitDepth ((int)bitDepthSlider->getValue());
        //[/UserSliderCode_bitDepthSlider]
    }
    else if (sliderThatWasMoved == sampleRateSlider)
    {
        //[UserSliderCode_sampleRateSlider] -- add your slider handling code here..
	getFilter()->setSampleRate ((float)sampleRateSlider->getValue());
        //[/UserSliderCode_sampleRateSlider]
    }

    //[UsersliderValueChanged_Post]
    //[/UsersliderValueChanged_Post]
}



//[MiscUserCode] You can add your own definitions of your custom methods or any other code here...
void kittyEditor::changeListenerCallback (void* source)
{
    kitty* const filter = getFilter();

    filter->getCallbackLock().enter();

    const float sampleRate = filter->getParameter (kitty::kSampleRate);
    const float bitDepth = filter->getParameter (kitty::kBitDepth);

    filter->getCallbackLock().exit();

    bitDepthSlider->setValue ((double)(bitDepth*32), false);
    sampleRateSlider->setValue (sampleRate, false);
}
//[/MiscUserCode]


//==============================================================================
#if 0
/*  -- Jucer information section --

    This is where the Jucer puts all of its metadata, so don't change anything in here!

BEGIN_JUCER_METADATA

<JUCER_COMPONENT documentType="Component" className="kittyEditor" componentName="Kitty Editor"
                 parentClasses="public AudioProcessorEditor, public ChangeListener"
                 constructorParams="kitty *owner" variableInitialisers="AudioProcessorEditor (owner)"
                 snapPixels="8" snapActive="1" snapShown="1" overlayOpacity="0.330000013"
                 fixedSize="1" initialWidth="256" initialHeight="128">
  <BACKGROUND backgroundColour="ffffffff">
    <PATH pos="0 0 100 100" fill="linear: 120 0, 120 128, 0=68c7c7c7, 1=80999999"
          hasStroke="1" stroke="0.800000012, mitered, butt" strokeColour="solid: ff000000"
          nonZeroWinding="1">s 0 0 l 256 0 l 256 128 l 0 128 x</PATH>
    <IMAGE pos="0 0 128 128" resource="kitty_png" opacity="1" mode="0"/>
  </BACKGROUND>
  <SLIDER name="Bit Depth" id="6ec97990d5659708" memberName="bitDepthSlider"
          virtualName="" explicitFocusOrder="0" pos="112 8 72 64" tooltip="Bit Depth (0-32)"
          thumbcol="ffbbffbc" rotarysliderfill="7fff0097" textboxtext="ffb52cb9"
          textboxbkgd="ffffff" textboxoutline="808080" min="1" max="32"
          int="1" style="RotaryVerticalDrag" textBoxPos="TextBoxBelow"
          textBoxEditable="1" textBoxWidth="32" textBoxHeight="12" skewFactor="1"/>
  <LABEL name="Bit Depth" id="8848640597ab420e" memberName="bitDepthLabel"
         virtualName="" explicitFocusOrder="0" pos="184 24 64 24" textCol="ffd35a77"
         edTextCol="ff000000" edBkgCol="0" labelText="Bit Depth" editableSingleClick="0"
         editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
         fontsize="15.8" bold="1" italic="0" justification="33"/>
  <SLIDER name="Sample Rate" id="ca3d0da959377c1" memberName="sampleRateSlider"
          virtualName="" explicitFocusOrder="0" pos="181 61 72 64" tooltip="Sampel Rate (0.00 - 1.00)"
          rotarysliderfill="7f169e1d" textboxtext="ff2e9f4a" textboxbkgd="ffffff"
          textboxoutline="808080" min="0" max="1" int="0.01" style="RotaryVerticalDrag"
          textBoxPos="TextBoxBelow" textBoxEditable="1" textBoxWidth="32"
          textBoxHeight="12" skewFactor="1"/>
  <LABEL name="Sample Rate" id="a5a3a125b6f8001d" memberName="sampleRateLabel"
         virtualName="" explicitFocusOrder="0" pos="112 88 72 24" textCol="ff066b07"
         edTextCol="ff000000" edBkgCol="0" labelText="Sample Rate" editableSingleClick="0"
         editableDoubleClick="0" focusDiscardsChanges="0" fontname="Default font"
         fontsize="15" bold="1" italic="0" justification="33"/>
</JUCER_COMPONENT>

END_JUCER_METADATA
*/
#endif

//==============================================================================
// Binary resources - be careful not to edit any of these sections!

// JUCER_RESOURCE: kitty_png, 16351, "..\kitty.png"
static const unsigned char resource_kittyEditor_kitty_png[] = { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,0,6,
98,75,71,68,0,255,0,255,0,255,160,189,167,147,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,0,7,116,73,77,69,7,216,3,28,19,30,50,109,32,213,99,0,0,32,0,73,68,65,84,120,218,237,189,105,152,
92,87,117,46,252,238,125,230,26,122,168,158,7,181,212,146,218,178,6,203,146,229,1,91,6,197,24,227,9,99,108,230,225,102,130,240,100,184,230,222,47,79,46,55,35,33,132,36,95,18,66,110,146,11,134,144,4,18,
2,31,182,49,96,60,96,225,96,27,219,178,108,121,146,7,13,150,173,89,173,30,171,171,107,174,51,237,253,253,168,189,79,237,58,93,50,96,75,86,99,116,244,156,167,170,75,93,85,167,207,122,247,26,222,181,246,
90,192,153,227,245,60,136,56,23,213,5,157,57,78,222,97,17,66,58,40,165,41,195,48,218,124,223,239,14,195,48,3,192,3,176,13,192,156,248,189,16,0,63,3,128,55,208,65,41,125,27,33,228,191,217,182,125,142,166,
105,61,0,28,0,6,128,208,117,93,207,243,188,91,57,231,127,15,32,11,160,6,192,95,12,32,56,3,128,215,120,180,183,183,143,249,190,255,191,44,203,250,224,192,192,64,202,113,28,112,206,193,24,3,99,12,97,24,
194,117,93,76,76,76,48,207,243,190,17,134,225,223,51,198,142,2,40,10,205,112,90,65,160,157,17,225,171,188,113,154,102,59,142,243,235,186,174,127,169,167,167,231,109,43,86,172,48,211,233,52,8,33,209,201,
57,135,166,105,176,109,27,134,97,144,114,185,124,46,33,4,140,177,189,0,92,0,1,0,118,58,255,14,253,140,40,95,149,240,215,104,154,246,39,233,116,250,189,75,150,44,209,218,218,218,192,57,71,181,90,69,24,
134,224,156,131,115,14,211,52,17,4,1,138,197,34,138,197,34,40,165,8,130,224,29,132,144,31,115,206,61,1,128,80,156,103,52,192,207,137,173,191,196,52,205,175,140,140,140,92,177,98,197,10,234,56,14,60,207,
67,173,86,67,24,134,8,195,16,132,16,104,154,134,82,169,132,241,241,113,120,158,135,158,158,30,244,246,246,162,80,40,104,65,16,28,224,156,207,0,40,9,127,128,157,209,0,63,7,135,174,235,23,27,134,241,181,
177,177,177,177,190,190,62,4,65,128,90,173,6,207,243,34,225,83,74,65,8,193,196,196,4,170,213,42,70,70,70,176,100,201,18,152,166,9,198,24,230,230,230,146,174,235,174,13,195,112,39,128,105,0,243,194,23,
56,3,128,197,124,216,182,125,5,165,244,159,87,172,88,177,172,187,187,27,174,235,194,243,60,4,65,0,223,247,193,88,125,17,115,206,113,252,248,113,104,154,134,77,155,54,161,175,175,79,250,0,32,132,96,106,
106,10,147,147,147,203,8,33,25,206,121,26,128,5,160,122,186,204,192,25,0,252,20,71,111,111,239,123,92,215,253,194,146,37,75,122,187,186,186,224,121,30,60,207,131,239,251,17,0,52,77,3,165,20,147,147,147,
112,28,7,231,158,123,46,250,250,250,144,78,167,145,76,38,161,105,26,56,231,232,239,239,135,16,126,59,128,36,0,19,0,61,3,128,69,122,116,119,119,191,195,243,188,155,7,7,7,187,51,153,76,180,234,37,8,164,
211,167,235,58,138,197,34,24,99,88,179,102,13,122,123,123,145,201,100,208,209,209,1,203,178,32,188,127,164,82,41,16,66,52,0,54,128,132,208,0,244,140,9,88,132,135,97,24,23,87,171,213,47,143,140,140,116,
247,244,244,192,247,253,5,39,99,12,186,174,131,49,134,92,46,135,209,209,81,244,244,244,160,163,163,3,153,76,6,233,116,26,166,105,130,115,142,32,8,164,54,160,226,222,27,226,148,20,49,63,3,128,197,115,12,
82,74,191,48,50,50,50,216,211,211,19,169,122,85,245,171,33,95,161,80,128,109,219,88,186,116,41,210,233,52,218,219,219,145,76,38,225,56,14,116,93,143,162,3,199,113,64,41,213,69,4,38,207,211,70,200,209,
51,114,94,120,16,66,108,77,211,62,219,215,215,183,177,187,187,187,229,202,151,166,0,0,194,48,68,177,88,196,240,240,48,218,219,219,145,78,167,145,72,36,96,219,54,76,211,132,97,24,208,117,93,134,145,160,
148,106,226,222,203,199,211,6,128,51,26,160,53,209,243,107,29,29,29,31,26,28,28,68,24,134,77,130,151,154,192,247,125,16,66,64,41,69,62,159,135,109,219,232,235,235,131,227,56,145,215,175,235,58,40,165,
81,116,192,24,131,166,105,32,132,80,133,131,33,103,52,192,226,34,122,54,155,166,249,169,161,161,33,139,82,186,64,232,114,245,51,198,192,57,135,239,251,168,86,171,232,239,239,95,32,124,73,7,135,97,24,145,
69,158,231,65,216,125,77,209,0,248,121,215,0,154,112,96,248,9,28,153,211,226,224,188,138,163,71,211,180,63,27,30,30,238,79,38,147,77,194,151,154,64,245,252,9,33,40,151,203,72,36,18,72,167,211,45,5,79,
8,137,8,163,74,165,130,99,199,142,193,243,188,34,33,196,231,156,211,211,173,1,94,43,0,58,41,165,127,172,105,218,217,132,16,151,115,94,13,195,48,207,24,219,3,224,81,0,47,162,78,119,158,18,225,19,66,12,
206,249,18,0,105,241,253,148,16,18,125,23,231,156,161,158,116,113,81,167,92,229,243,48,198,240,217,132,144,183,112,206,111,234,237,237,189,188,171,171,11,65,16,68,194,87,195,190,32,8,162,213,47,95,235,
238,238,134,97,24,81,172,207,24,139,222,19,4,1,92,215,69,185,92,70,62,159,199,193,131,7,81,169,84,246,115,206,75,168,83,192,33,126,142,169,224,15,167,82,169,223,94,187,118,173,173,105,26,170,213,42,106,
181,26,10,133,2,155,155,155,59,92,169,84,182,113,206,239,39,132,60,206,57,63,40,24,47,137,246,87,3,138,21,0,86,107,154,118,14,128,37,148,210,1,66,200,58,93,215,59,53,77,43,203,85,201,57,7,0,198,24,171,
5,65,80,96,140,149,25,99,85,206,121,21,128,124,44,139,179,74,41,61,47,149,74,93,217,213,213,149,204,100,50,81,200,214,202,243,151,222,191,52,15,148,82,216,182,29,217,122,41,120,215,117,35,77,225,121,30,
74,165,18,166,166,166,48,62,62,238,115,206,199,99,160,100,167,75,67,190,22,0,116,105,154,246,33,223,247,237,241,241,113,108,216,176,1,153,76,6,213,106,21,229,114,153,230,114,185,209,108,54,59,58,51,51,
243,238,82,169,116,196,243,188,7,57,231,223,2,240,148,208,10,63,11,16,54,80,74,63,108,219,246,181,169,84,106,48,149,74,181,75,123,43,83,175,148,210,174,48,12,35,135,75,128,32,90,173,234,235,140,49,238,
121,94,16,4,1,15,195,144,38,18,9,189,163,163,3,134,97,52,57,123,82,240,234,107,146,243,103,140,193,247,125,36,18,137,232,115,229,123,106,181,154,244,246,17,134,33,170,213,42,74,165,18,142,31,63,142,66,
161,80,36,132,76,114,206,107,168,231,1,74,168,103,5,127,238,52,192,117,35,35,35,155,206,63,255,124,140,143,143,227,153,103,158,193,242,229,203,177,124,249,242,136,22,77,36,18,232,234,234,114,10,133,194,
170,108,54,187,106,110,110,238,221,158,231,221,205,57,191,133,115,190,29,64,33,230,31,196,193,112,46,128,15,183,181,181,189,111,104,104,104,105,127,127,127,116,195,165,112,101,209,133,42,24,41,116,169,
17,164,183,46,31,41,165,132,16,98,168,160,144,142,90,171,144,47,14,0,25,250,49,198,162,36,143,239,251,112,93,23,213,106,181,41,238,15,195,16,149,74,5,185,92,14,71,142,28,129,235,186,147,66,243,112,212,
171,130,90,173,254,215,205,103,122,181,206,135,166,235,250,221,215,94,123,237,149,235,214,173,131,166,105,56,114,228,8,182,111,223,14,203,178,176,126,253,122,120,158,135,66,161,128,106,181,26,221,188,
106,181,138,185,185,57,204,207,207,207,85,171,213,123,24,99,95,7,240,152,48,13,76,177,205,109,0,126,195,113,156,223,30,25,25,25,29,30,30,38,137,68,34,18,186,188,249,97,24,70,66,145,143,242,117,117,213,
203,244,172,2,128,5,225,153,4,144,234,241,199,249,126,249,29,146,214,5,128,142,142,14,180,181,181,161,171,171,11,29,29,29,72,167,211,72,165,82,81,220,63,63,63,143,201,201,73,76,79,79,227,216,177,99,172,
82,169,28,69,163,44,108,22,192,148,56,159,23,247,98,66,8,159,189,130,83,125,218,1,96,88,150,117,239,251,223,255,254,183,158,125,246,217,208,117,29,186,174,99,102,102,6,91,183,110,69,24,134,88,183,110,
29,202,229,50,10,133,66,148,43,151,171,211,117,93,204,207,207,99,118,118,118,170,86,171,253,59,128,175,3,56,0,160,2,96,61,165,244,143,251,251,251,223,49,58,58,234,180,181,181,69,55,92,174,108,85,248,170,
93,86,65,160,170,126,85,3,168,64,144,135,252,125,249,254,120,204,31,87,253,242,122,116,93,135,227,56,104,107,107,67,103,103,39,210,233,52,210,233,52,116,93,199,252,252,60,166,167,167,81,40,20,162,207,
206,102,179,89,206,249,147,0,38,133,240,171,168,39,131,58,0,44,21,207,191,7,224,63,95,47,255,224,213,22,132,16,206,249,219,86,172,88,177,126,229,202,149,48,77,19,166,105,162,189,189,29,67,67,67,120,238,
185,231,80,46,151,33,89,52,233,57,203,85,99,24,6,218,218,218,208,214,214,150,10,195,240,98,207,243,214,113,206,11,0,206,53,12,227,175,71,71,71,47,31,29,29,53,108,219,110,90,137,242,185,122,214,106,181,
72,253,186,174,219,244,251,210,11,111,117,182,34,118,212,239,81,133,47,5,40,193,39,65,165,235,58,52,77,131,97,24,145,86,41,151,203,120,249,229,151,49,49,49,1,203,178,162,132,80,177,88,68,185,92,126,6,
192,35,0,198,1,28,17,160,223,7,96,23,128,23,132,208,45,161,17,66,97,34,130,197,232,3,48,198,216,120,185,92,102,186,174,83,211,52,161,105,26,24,99,232,239,239,199,91,223,250,86,220,117,215,93,81,42,84,
18,32,18,4,148,82,112,206,97,219,54,150,45,91,70,179,217,236,150,201,201,201,115,52,77,243,70,70,70,186,187,187,187,137,116,168,212,21,31,183,247,234,41,5,37,127,142,251,0,234,41,181,129,20,100,252,59,
84,109,32,127,86,253,10,249,62,249,30,9,192,82,169,132,66,161,128,100,50,137,145,145,17,56,142,131,48,12,49,55,55,135,92,46,87,2,176,91,8,121,78,128,32,47,132,76,81,47,18,157,18,0,72,9,231,176,36,180,
0,95,108,0,224,0,38,93,215,165,242,134,74,199,143,115,142,85,171,86,97,118,118,22,219,182,109,195,170,85,171,160,105,90,228,56,201,218,57,77,211,34,59,217,217,217,137,68,34,145,209,52,13,150,101,161,92,
46,47,80,247,170,96,228,255,169,106,95,126,118,92,253,75,149,45,133,30,7,64,220,12,196,43,122,213,66,15,249,153,242,247,37,183,175,106,143,142,142,14,116,118,118,130,115,142,74,165,34,171,128,16,4,193,
78,17,254,21,0,28,6,112,80,0,32,20,0,208,133,240,109,97,154,43,120,29,106,4,94,75,20,112,120,118,118,54,168,84,42,186,105,154,77,182,86,211,52,108,216,176,1,147,147,147,216,191,127,63,70,71,71,163,155,
88,169,84,48,61,61,141,182,182,54,36,147,201,104,149,170,55,82,222,108,41,228,184,6,80,95,151,175,169,66,148,223,165,16,66,77,118,63,238,3,168,2,85,65,160,94,135,250,153,156,243,8,236,18,132,158,231,193,
52,77,232,186,142,90,173,22,129,94,104,133,2,99,108,74,216,248,172,88,253,83,66,200,170,63,166,139,147,10,213,127,202,203,198,95,75,81,40,119,93,247,178,21,43,86,244,117,117,117,53,169,88,185,82,83,169,
20,14,28,56,128,74,165,2,199,113,80,173,86,49,53,53,5,206,57,18,137,68,19,185,18,143,191,79,116,202,112,173,85,232,23,87,255,113,64,168,160,144,160,81,35,1,85,224,113,161,171,64,82,181,71,92,147,72,234,
119,126,126,30,133,66,1,197,98,145,215,106,53,2,160,29,192,16,128,17,212,43,129,170,226,44,43,142,94,168,8,62,120,61,8,162,215,2,128,162,231,121,235,51,153,204,166,145,145,145,5,194,247,60,47,122,109,
247,238,221,208,52,45,242,254,229,202,143,59,91,42,249,162,134,96,242,121,171,16,80,93,185,82,24,113,19,16,23,164,106,255,227,190,192,2,148,199,194,201,184,176,95,233,53,219,182,209,209,209,65,28,199,
161,181,90,141,48,198,142,11,251,191,14,192,245,0,222,10,224,28,241,214,73,33,112,242,122,50,131,175,5,0,161,176,87,215,45,95,190,92,151,132,136,26,75,187,174,11,195,48,80,169,84,112,244,232,81,212,106,
53,0,128,105,154,11,10,43,90,121,234,210,193,82,87,167,20,104,171,21,120,34,97,156,232,84,201,161,86,206,97,171,207,60,65,78,162,233,247,53,77,139,50,131,166,105,34,153,76,18,219,182,109,207,243,186,124,
223,31,7,112,159,136,251,61,0,43,5,24,150,11,211,80,120,61,147,67,175,117,95,64,197,117,221,203,250,250,250,6,219,219,219,155,66,38,223,247,81,171,213,224,186,46,52,77,195,248,248,56,114,185,28,82,169,
84,83,134,77,174,232,159,198,235,150,78,151,122,163,149,52,238,2,1,171,194,81,121,128,86,167,74,18,181,250,140,159,50,149,28,189,95,106,46,249,154,109,219,72,36,18,70,16,4,99,158,231,245,2,56,42,66,192,
39,69,72,248,22,0,215,9,199,112,66,113,0,217,162,6,128,239,251,195,156,243,205,3,3,3,68,242,225,82,133,187,174,139,74,165,18,133,72,179,179,179,81,253,156,4,64,43,239,59,110,175,227,171,84,70,28,234,243,
56,203,23,247,252,229,239,201,232,67,125,60,17,8,84,211,160,62,182,210,0,18,152,146,232,114,93,55,90,0,210,57,212,117,29,169,84,138,48,198,6,92,215,237,23,81,129,228,4,118,2,200,0,120,63,128,52,128,151,
209,216,47,192,23,43,0,56,128,220,236,236,236,249,148,210,193,206,206,206,200,153,171,213,106,168,86,171,168,84,42,168,84,42,40,20,10,200,102,179,145,10,87,133,175,58,105,113,193,171,66,81,133,40,79,245,
255,212,159,227,167,250,158,56,0,100,229,78,28,52,42,0,90,249,16,234,115,25,17,112,198,149,207,172,223,222,114,185,12,195,48,162,148,177,240,129,186,42,149,74,10,192,19,168,111,16,201,10,179,144,7,240,
33,97,18,94,18,145,2,59,85,154,224,181,2,128,0,200,114,206,167,166,167,167,47,50,77,179,195,182,237,136,248,145,194,175,86,171,200,231,243,200,229,114,77,158,114,220,233,138,19,55,113,225,197,87,108,28,
8,113,45,112,34,225,203,83,253,204,87,242,3,78,100,247,213,156,66,221,4,104,208,117,13,65,16,162,86,115,225,121,46,210,233,52,108,219,198,252,252,60,108,219,142,190,203,182,109,82,169,84,58,132,79,240,
146,200,12,22,0,28,2,176,31,192,181,0,214,2,216,35,200,163,83,82,55,112,50,52,64,8,96,50,12,67,54,51,51,179,201,48,12,135,115,142,90,173,22,105,1,169,9,230,231,231,65,41,61,161,154,143,159,242,102,157,
72,240,39,82,253,173,192,163,126,150,250,121,173,108,191,42,212,86,33,97,43,103,178,94,12,194,4,31,0,140,140,56,176,29,13,115,115,53,36,147,9,164,82,169,166,239,51,12,3,97,24,26,165,82,137,8,33,231,4,
8,202,34,34,56,0,224,157,0,198,132,175,80,19,161,225,73,77,16,105,175,241,189,107,5,82,175,3,176,218,247,253,204,244,244,116,38,151,203,97,122,122,26,217,108,22,229,114,57,138,219,43,149,74,19,209,19,
183,159,170,163,23,23,158,186,130,57,231,81,149,77,173,86,67,16,4,145,122,109,165,5,84,211,17,247,33,90,57,140,42,40,91,153,166,184,6,168,131,154,35,8,124,100,186,116,92,116,113,18,231,156,235,32,153,
52,112,232,96,25,174,23,32,157,78,55,177,161,178,68,188,84,42,181,51,198,14,10,127,32,47,232,95,79,132,139,71,4,8,18,194,39,240,197,255,177,211,9,0,2,224,93,0,126,79,132,47,189,2,181,7,1,60,23,134,97,
161,82,169,12,152,166,105,203,116,104,46,151,131,231,121,48,12,3,181,90,109,129,160,95,201,217,139,175,96,9,168,225,225,97,182,126,253,122,190,110,221,58,164,82,41,114,228,200,17,94,42,149,136,235,186,
60,8,2,34,109,174,252,14,117,213,171,223,43,185,139,86,106,191,21,49,36,175,91,189,174,48,228,8,67,31,189,189,26,95,119,142,73,206,90,165,163,127,64,71,95,191,133,163,71,124,204,206,212,96,218,22,124,
207,71,46,151,67,185,92,70,169,84,146,53,132,150,231,121,97,24,134,207,137,124,64,17,141,14,34,89,65,27,251,194,23,144,37,109,39,45,65,244,106,168,96,11,192,38,129,200,91,132,221,50,209,216,234,116,148,
115,126,184,80,40,188,183,167,167,103,176,167,167,7,149,74,5,115,115,115,32,132,68,36,144,202,221,171,55,249,68,177,58,33,4,115,115,115,88,181,106,21,191,233,166,155,112,197,21,87,144,165,75,151,18,74,
41,74,165,18,223,182,109,27,207,102,179,100,98,98,130,221,121,231,157,228,233,167,159,102,213,106,85,235,236,236,36,39,10,17,195,48,68,161,80,136,178,136,157,157,157,48,77,115,129,25,145,207,213,40,160,
254,72,224,251,1,76,43,228,203,70,83,232,233,37,164,127,32,64,123,59,193,145,195,62,206,221,232,224,130,11,219,248,193,3,85,82,171,84,209,209,209,17,237,19,8,195,16,243,243,243,178,190,96,163,166,105,
99,97,24,142,163,222,90,70,150,139,229,68,141,64,31,26,91,200,78,234,46,162,87,163,1,24,128,199,69,102,75,23,185,108,83,160,178,8,96,6,192,174,48,12,123,130,32,88,159,72,36,34,213,237,251,126,147,199,
125,162,120,189,149,10,47,20,10,56,235,172,179,248,183,190,245,45,92,125,245,213,164,179,179,147,200,247,154,166,73,86,174,92,73,206,57,231,28,92,114,201,37,244,3,31,248,0,89,190,124,57,118,239,222,205,
143,29,59,70,165,253,85,253,134,48,12,145,207,231,249,166,77,155,112,211,77,55,145,165,75,151,242,3,7,14,240,92,46,7,93,215,137,20,120,171,112,148,82,10,74,40,124,223,3,231,30,70,150,37,73,119,143,65,
58,59,3,172,90,101,162,179,125,41,158,120,220,198,5,23,45,65,111,159,143,71,31,201,163,90,101,36,149,78,194,178,44,88,150,21,237,30,162,148,162,80,40,216,65,16,116,11,31,224,184,208,168,129,114,122,10,
109,44,29,66,126,58,125,0,138,198,206,214,170,80,85,199,197,57,15,224,77,154,166,189,47,147,201,116,153,166,73,228,202,145,171,171,149,35,213,138,81,147,167,4,206,205,55,223,140,205,155,55,255,68,86,70,
215,117,172,95,191,158,108,217,178,133,60,249,228,147,56,124,248,48,73,167,211,77,192,43,22,139,88,177,98,5,255,234,87,191,74,175,184,226,10,92,125,245,213,228,146,75,46,33,51,51,51,124,223,190,125,224,
156,19,153,173,140,44,31,1,40,161,8,66,206,57,247,248,154,117,73,210,221,101,225,248,120,5,221,61,1,178,179,46,206,26,235,68,127,223,37,56,124,56,129,171,174,126,51,218,59,142,226,177,237,217,112,122,
58,32,137,132,77,170,213,106,164,5,76,211,68,103,103,39,8,33,152,159,159,79,8,86,112,16,245,106,234,138,82,54,230,138,159,85,71,240,164,28,175,118,83,66,32,28,22,25,194,28,21,36,198,123,1,252,21,128,191,
52,12,99,121,173,86,35,217,108,22,115,115,115,40,22,139,145,112,226,94,125,43,135,76,53,11,165,82,9,111,127,251,219,113,205,53,215,252,76,20,233,234,213,171,201,205,55,223,76,58,59,59,145,207,231,155,
60,121,207,243,176,105,211,38,50,58,58,138,227,199,143,227,182,219,110,195,202,149,43,241,181,175,125,141,94,119,221,117,40,20,10,49,64,2,20,4,174,27,112,66,92,246,214,183,117,147,77,155,186,144,233,2,
116,35,128,166,49,172,63,55,129,135,31,170,226,187,223,221,141,100,50,137,177,149,191,132,161,161,21,124,108,204,226,64,163,148,124,106,106,10,229,114,57,186,206,222,222,94,164,211,105,157,16,178,27,192,
5,0,254,80,128,33,37,180,108,32,64,224,159,236,60,193,171,1,128,12,253,74,194,83,93,5,224,51,0,254,4,192,135,117,93,127,127,95,95,223,64,95,95,159,41,235,227,28,199,129,105,154,175,24,171,199,99,112,233,
31,248,190,15,206,57,206,59,239,60,246,211,82,178,234,177,110,221,58,92,127,253,245,200,102,179,77,245,124,181,90,205,27,24,24,224,0,240,157,239,124,7,31,250,208,135,112,251,237,183,67,242,24,178,161,
67,35,26,0,47,149,170,97,38,195,216,251,62,176,132,246,13,56,228,217,157,83,72,166,93,92,112,145,133,124,30,120,215,123,250,240,217,191,186,4,224,4,219,30,125,28,119,124,247,49,152,250,16,93,185,42,5,
128,115,198,25,186,186,186,144,76,38,49,49,49,17,249,69,137,68,2,153,76,38,201,57,239,20,121,130,117,0,62,9,96,84,176,130,186,114,239,79,42,43,248,90,10,66,58,1,252,154,136,8,30,4,176,195,48,140,95,31,
28,28,76,101,50,25,162,166,104,213,228,142,76,195,182,114,246,212,84,174,4,65,16,4,72,36,18,216,188,121,243,9,47,198,247,125,24,134,113,194,255,63,251,236,179,57,0,226,251,126,228,252,249,190,79,83,169,
20,7,128,53,107,214,224,202,43,175,196,166,77,155,176,115,231,78,190,125,251,246,200,89,101,156,35,8,66,94,42,23,217,138,49,155,92,115,221,16,77,58,4,91,183,30,67,169,92,193,165,103,165,176,122,109,18,
63,184,187,130,199,182,5,248,243,207,14,224,205,91,18,104,239,24,198,182,109,143,224,137,39,247,131,104,140,24,6,229,190,231,195,55,125,164,211,105,56,142,131,217,217,89,180,181,181,161,167,167,71,106,
85,67,56,213,223,21,247,245,55,1,124,1,192,49,241,250,73,239,45,248,106,52,0,1,112,53,128,155,1,156,7,224,111,1,60,174,105,218,175,244,247,247,175,206,100,50,68,13,227,164,176,195,48,68,46,151,67,46,151,
139,10,69,227,97,86,139,250,125,73,21,159,240,143,126,230,153,103,112,195,13,55,224,166,155,110,138,152,198,248,81,173,86,153,234,249,139,114,110,253,214,91,111,37,59,118,60,206,47,184,224,130,240,171,
95,253,170,95,169,84,188,223,254,237,223,225,133,66,129,152,166,5,206,25,170,229,42,47,149,243,225,37,155,59,232,13,239,94,66,19,9,138,124,1,40,21,129,11,46,108,199,155,46,233,198,133,23,14,224,163,31,
31,195,206,167,107,120,249,229,105,76,207,188,132,107,174,109,199,23,191,178,26,171,214,248,184,231,174,25,221,247,67,205,117,93,20,10,5,148,203,101,36,147,73,116,116,116,68,230,32,155,205,22,69,100,21,
10,179,250,175,0,214,3,184,12,64,143,240,185,78,122,83,175,159,85,3,12,3,248,4,128,243,1,124,31,192,195,0,146,132,144,63,201,100,50,235,164,67,163,230,229,165,202,205,229,114,8,130,0,150,101,69,169,226,
184,205,87,31,213,226,203,74,165,130,103,158,121,6,111,121,203,91,22,92,208,163,143,62,138,187,239,190,27,201,100,18,31,251,216,199,208,217,217,185,224,119,246,239,223,207,8,33,154,212,40,156,115,116,
116,116,96,231,206,157,244,198,27,223,205,54,109,218,132,76,38,163,61,250,232,163,24,31,31,167,153,76,6,190,239,33,159,47,162,173,45,196,229,87,246,107,27,54,182,17,93,231,104,75,143,65,67,31,218,210,
219,112,205,53,35,216,184,209,69,103,167,131,145,101,54,190,63,150,195,215,255,227,37,180,181,133,88,179,254,121,84,221,93,152,152,172,161,82,1,146,41,157,5,30,39,33,13,73,173,86,67,185,92,70,103,103,
39,142,31,63,142,3,7,14,160,90,173,30,19,57,129,178,112,170,37,59,168,9,255,170,140,70,47,33,126,186,0,176,78,104,128,207,8,111,191,19,192,18,195,48,214,201,144,38,94,92,193,57,71,62,159,135,239,251,104,
111,111,7,33,36,218,129,19,231,1,226,116,171,18,119,147,167,159,126,186,101,54,238,170,171,174,194,199,62,246,49,140,142,142,98,108,108,108,193,5,151,203,101,236,220,185,51,170,87,80,139,69,218,218,218,
224,186,46,253,209,143,126,4,206,57,82,169,20,58,59,59,81,46,85,145,47,20,17,134,46,191,228,210,1,178,229,178,20,166,38,139,120,226,113,19,3,253,64,97,254,56,146,201,52,150,141,174,68,50,53,13,211,6,146,
186,134,43,174,232,198,47,127,248,41,92,251,206,94,220,123,175,143,187,239,152,197,222,61,85,124,228,151,187,249,227,219,75,252,133,231,93,106,217,102,180,113,132,82,138,238,238,110,236,219,183,143,5,
65,176,95,8,185,32,66,233,73,1,132,30,33,167,83,178,147,88,255,25,85,255,3,0,118,0,24,0,208,47,108,82,82,211,52,71,218,240,120,101,141,220,16,34,1,34,119,207,0,64,200,234,217,179,56,51,215,234,120,248,
225,135,49,57,57,137,129,129,129,166,215,87,172,88,129,175,124,229,43,39,188,232,59,239,188,147,237,218,181,11,201,100,146,72,245,47,129,71,72,157,213,75,165,82,160,84,131,235,122,60,55,159,229,169,20,
199,21,87,38,137,105,39,200,3,247,205,96,227,38,7,111,121,203,13,232,235,90,138,153,153,44,110,223,241,109,36,147,30,254,234,179,63,132,101,251,200,116,105,184,242,170,78,44,93,174,67,211,129,91,190,121,
20,248,38,208,55,160,225,255,124,177,31,235,214,118,227,153,167,171,224,156,52,165,164,37,8,24,99,178,20,172,42,22,214,188,136,178,168,224,0,44,225,116,135,167,219,4,132,74,108,58,35,46,244,50,211,52,
83,39,170,171,211,52,13,189,189,189,81,154,88,236,149,11,1,144,122,109,37,137,182,84,183,170,244,145,73,161,67,135,14,225,158,123,238,97,31,253,232,71,127,234,85,112,228,200,17,124,254,243,159,231,65,
16,80,219,182,225,186,110,83,9,25,99,28,4,64,24,50,238,251,62,108,135,99,203,101,25,114,197,21,253,100,108,149,15,215,45,98,255,190,42,238,254,190,139,119,191,235,173,184,246,166,119,224,200,145,189,120,
97,215,54,124,252,183,134,49,186,188,134,221,187,143,226,165,125,89,212,106,121,60,112,63,67,126,222,131,97,16,124,224,35,41,252,238,255,110,195,139,123,128,123,239,41,113,93,167,140,82,74,13,195,32,50,
20,166,148,98,118,118,22,140,177,25,81,47,8,37,222,151,33,159,44,27,15,113,10,186,140,107,63,163,6,144,14,153,43,16,90,6,240,129,116,58,189,201,113,156,166,12,155,26,202,201,104,128,16,2,207,245,209,217,
69,130,181,235,146,124,106,194,37,97,200,73,189,203,150,6,170,233,11,114,250,210,100,132,97,72,118,236,216,65,108,219,230,103,157,117,22,177,109,251,21,47,214,117,93,254,201,79,126,50,184,255,254,251,
137,101,89,212,15,124,4,97,40,238,30,135,231,249,240,125,143,51,238,241,182,54,96,229,89,73,242,206,27,7,201,141,55,14,146,169,233,50,142,143,23,176,121,115,6,35,75,187,240,189,111,79,98,207,158,113,92,
120,209,24,246,236,221,142,61,123,30,194,111,222,52,136,161,158,50,86,159,5,156,123,190,129,7,31,40,224,47,63,115,4,221,61,20,171,86,155,248,253,63,234,68,46,103,227,123,183,17,152,166,195,118,191,144,
231,133,60,168,227,216,196,178,44,56,142,83,47,4,156,156,44,122,158,183,77,0,224,136,72,7,103,209,40,11,87,207,69,145,14,102,66,45,213,80,223,195,247,107,201,100,114,133,101,89,77,52,111,211,27,24,19,
27,67,56,64,128,68,130,209,235,111,232,208,186,187,73,112,240,160,235,249,62,215,130,32,36,117,162,200,128,97,232,48,116,29,154,166,67,211,53,104,84,131,97,26,168,86,171,216,190,125,59,158,127,254,57,
48,198,201,192,192,0,28,199,89,240,125,7,14,30,228,159,254,211,63,229,95,253,234,87,169,105,153,148,16,74,0,130,48,100,8,131,0,174,235,193,48,3,172,28,115,176,106,181,77,86,173,74,210,55,109,238,34,155,
55,143,162,144,235,196,183,111,153,194,150,45,23,97,227,198,126,156,189,186,23,179,51,6,110,191,125,59,182,254,240,94,60,245,212,19,24,93,73,112,209,197,58,14,28,154,197,45,183,29,199,31,255,254,17,220,
242,205,44,126,237,99,157,248,171,191,29,196,238,23,170,72,167,198,112,247,247,50,184,255,71,211,56,231,156,149,252,177,71,143,128,115,147,38,18,14,17,229,97,40,22,139,152,157,157,221,199,57,127,76,56,
216,186,160,216,231,21,58,248,148,238,15,252,89,77,64,252,98,202,0,230,213,85,30,79,158,20,139,197,40,236,107,239,232,128,227,216,200,205,85,224,122,224,151,93,145,214,51,221,60,120,225,133,154,123,232,
64,96,79,77,248,40,249,12,142,227,16,203,52,160,233,141,45,214,156,65,102,19,201,214,123,183,242,7,31,252,49,31,26,26,34,171,86,173,66,127,127,63,107,107,107,3,8,193,158,221,187,200,99,143,61,142,99,199,
142,209,68,34,9,22,112,184,53,23,140,133,48,77,134,90,45,192,200,136,133,11,47,78,35,157,214,201,254,253,85,236,218,93,128,174,167,208,150,24,198,221,119,190,128,119,223,248,81,124,228,35,151,131,147,
7,97,233,135,113,253,141,21,252,231,215,9,246,189,120,20,0,176,119,143,141,31,253,240,56,202,165,0,158,239,99,203,101,105,252,238,39,151,226,109,87,182,193,209,12,140,46,159,199,196,177,213,248,200,71,
174,193,222,61,127,131,151,246,213,72,165,194,144,72,216,68,82,192,130,254,245,195,48,220,43,28,191,125,168,247,63,72,11,6,208,18,139,236,148,86,7,191,214,6,17,85,66,200,126,117,219,151,244,212,93,215,
197,212,212,84,68,228,116,119,119,67,211,52,81,13,76,241,252,179,149,240,194,139,58,245,179,207,118,29,207,15,249,230,75,29,50,59,203,249,115,59,107,56,114,168,134,249,92,21,0,5,161,20,156,17,128,114,
16,113,47,40,161,164,82,203,99,102,102,6,59,119,238,60,1,159,161,193,117,107,72,166,8,134,150,152,232,237,171,159,47,238,117,113,248,96,13,156,19,36,83,192,133,23,46,5,11,206,199,204,52,240,185,191,189,
27,150,105,98,199,142,157,40,87,102,176,122,93,1,103,175,201,97,112,48,64,123,135,137,82,169,94,162,151,203,213,208,217,197,241,155,255,189,3,87,94,211,142,53,235,82,248,183,127,158,195,253,247,121,184,
238,170,52,214,111,108,195,221,223,153,69,50,241,50,174,190,246,18,188,188,239,9,194,24,161,182,109,193,52,77,88,150,133,106,181,138,98,177,56,33,72,158,50,234,125,19,86,137,204,223,1,145,21,44,227,20,
247,17,62,25,61,130,94,244,125,63,100,140,105,210,251,119,93,23,199,143,31,135,101,89,24,30,30,142,188,127,25,14,154,166,65,30,126,48,79,47,125,115,50,220,112,94,82,123,248,225,42,121,113,55,193,101,151,
47,35,231,255,134,139,114,121,30,207,63,231,99,235,61,121,24,6,7,213,56,74,197,16,174,203,225,185,28,156,112,24,58,129,101,234,96,140,67,211,40,186,186,109,36,83,6,58,58,116,164,219,9,58,59,128,182,14,
14,199,166,96,97,253,207,180,45,6,195,0,118,61,95,194,248,56,199,59,174,239,198,178,145,55,99,233,208,199,113,243,151,110,195,85,87,189,21,55,253,143,15,227,224,161,199,240,252,115,15,225,142,59,142,224,
150,91,92,100,186,44,20,230,235,44,226,133,111,74,226,154,119,166,176,229,178,20,222,252,166,118,104,104,195,68,54,141,251,182,102,241,209,143,217,0,56,134,134,117,228,242,187,217,248,4,65,119,119,72,
159,124,106,23,113,156,116,148,9,20,187,135,185,231,121,251,209,104,18,177,95,144,62,171,0,60,35,136,159,60,78,241,100,145,147,1,128,157,97,24,206,5,65,208,99,154,38,92,215,197,244,244,52,18,137,4,6,7,
7,161,105,26,102,102,102,48,55,55,23,149,66,57,142,133,66,161,76,255,245,203,147,193,95,124,110,36,236,235,79,107,63,188,167,136,99,71,242,248,212,167,111,196,138,245,207,97,201,146,67,216,254,72,21,231,
95,104,227,242,183,91,216,241,120,9,182,201,209,55,104,65,163,14,52,29,48,77,15,79,239,240,241,208,143,107,248,253,63,30,133,109,27,152,155,173,97,112,152,32,157,182,224,186,14,94,220,227,227,219,183,
28,194,121,155,54,97,205,154,62,44,91,126,8,79,62,241,12,94,218,87,193,178,165,3,56,235,172,36,190,245,141,127,199,238,221,79,227,255,252,211,175,98,249,200,20,46,216,228,226,226,55,119,227,123,223,153,
199,127,254,199,17,220,241,221,105,140,173,52,96,57,73,244,15,154,184,225,221,109,248,135,191,155,197,195,15,248,120,239,251,54,32,55,183,12,182,85,192,134,13,27,225,99,39,122,123,61,80,109,146,108,126,
139,137,251,182,206,227,200,97,23,131,131,153,104,245,7,65,128,92,46,55,47,152,63,87,16,62,147,0,110,7,112,150,160,132,109,52,186,136,46,94,0,112,206,15,7,65,240,68,165,82,185,198,178,44,204,207,207,67,
215,117,244,245,245,65,211,52,100,179,89,100,179,89,244,247,247,195,182,109,148,203,101,4,65,128,76,166,13,135,14,205,104,127,253,231,19,236,130,139,50,248,155,191,123,55,238,190,243,56,118,189,64,177,
238,156,27,96,218,223,68,123,199,12,42,101,13,171,86,37,177,119,111,13,79,63,81,66,103,231,10,244,245,173,198,244,116,1,155,175,236,134,99,61,133,123,238,126,9,97,200,96,219,28,247,253,112,6,181,170,142,
149,99,99,104,75,15,96,219,35,47,98,237,218,171,240,254,247,125,16,29,157,41,36,18,243,216,245,252,23,240,197,255,251,3,188,248,98,128,53,107,243,216,183,111,59,254,240,79,214,97,249,200,19,216,127,236,
48,110,191,245,32,190,242,229,99,112,221,0,231,95,96,225,163,31,239,198,181,215,57,120,98,135,135,143,255,202,12,94,122,145,224,131,31,26,194,29,223,49,240,135,159,60,128,114,233,0,218,219,51,104,111,
123,51,52,236,66,119,111,128,142,14,74,30,125,100,26,119,222,81,64,58,221,9,199,177,35,219,63,57,57,137,74,165,242,18,234,251,3,75,194,235,47,0,184,75,152,128,140,18,121,157,210,77,34,39,131,91,246,0,
204,5,65,176,37,12,195,182,32,8,208,215,215,7,211,52,81,44,22,49,61,61,141,225,225,225,136,162,149,245,129,245,233,25,33,57,126,188,76,7,6,77,12,47,33,88,179,118,148,143,141,45,195,170,179,9,233,27,56,
130,103,159,153,199,228,68,128,247,188,175,15,43,199,76,76,76,80,124,237,95,114,184,251,206,151,97,232,203,112,197,21,55,98,104,73,22,247,109,61,128,108,150,227,29,239,28,194,155,46,30,193,170,177,171,
240,212,147,62,110,187,245,71,0,49,48,48,208,15,66,52,100,58,219,177,122,245,40,134,150,212,240,237,219,30,193,75,251,242,120,215,13,67,184,236,242,110,204,204,204,226,31,254,225,9,252,201,31,236,194,
125,91,231,240,174,119,59,248,212,103,218,112,195,123,108,108,217,98,195,78,24,232,238,73,226,7,119,86,80,42,83,34,239,164,159,0,0,31,83,73,68,65,84,252,207,223,89,129,183,95,253,65,156,179,238,131,184,
231,174,135,113,236,216,113,60,249,228,243,152,153,59,136,229,203,67,60,242,227,26,190,245,205,2,170,21,7,221,221,93,72,36,18,208,117,29,19,19,19,24,31,31,223,199,57,255,177,200,166,78,138,208,111,6,141,
14,102,158,176,255,165,83,109,2,78,6,0,8,128,73,206,185,229,186,238,155,211,233,52,77,165,82,224,156,99,114,114,18,29,29,29,50,219,21,237,0,146,117,117,134,161,195,243,124,188,184,167,136,157,59,167,241,
248,142,189,228,197,23,95,192,236,220,115,164,88,44,227,174,239,103,193,24,112,241,230,110,220,245,253,28,142,29,246,240,193,143,172,198,181,215,174,195,228,228,113,236,222,253,2,214,174,243,145,203,121,
184,237,150,9,156,189,186,23,87,95,59,140,35,71,66,60,182,253,32,254,231,239,222,136,223,251,228,175,32,149,98,120,254,133,135,241,196,147,15,224,146,55,187,88,117,86,14,143,62,122,4,15,61,56,129,29,143,
205,224,142,239,30,198,231,254,122,47,158,122,162,136,43,175,238,196,167,63,219,142,223,252,237,4,190,255,221,50,118,239,14,113,254,69,93,240,253,4,218,147,73,204,102,57,110,191,53,139,171,223,217,133,
222,206,165,48,172,21,120,116,251,243,248,157,155,54,98,233,138,93,184,247,238,67,112,61,202,31,122,176,134,189,187,57,233,235,235,65,42,149,132,174,235,152,158,158,198,241,227,199,15,133,97,248,67,133,
234,61,20,203,246,249,130,17,172,156,236,2,208,83,5,0,169,5,86,2,248,37,77,211,76,199,113,136,44,9,239,239,239,143,200,29,153,186,149,77,34,8,161,208,52,29,190,231,97,120,137,141,95,251,216,16,252,176,
66,238,250,254,36,158,120,44,196,203,47,231,49,59,83,195,125,91,115,56,124,200,71,123,187,85,207,42,206,23,145,201,4,24,31,63,130,220,124,21,97,96,96,199,227,51,56,176,191,140,229,43,28,236,221,179,15,
23,94,226,224,186,235,123,160,233,147,24,24,242,48,118,150,14,198,230,112,239,189,59,112,243,23,159,198,67,15,78,195,117,67,28,59,86,198,225,67,101,56,142,137,127,252,226,89,248,212,167,122,113,214,242,
229,216,187,119,57,254,254,115,199,240,193,15,47,195,146,145,36,56,179,160,81,29,233,14,3,223,248,143,73,172,24,179,112,222,185,121,60,186,99,59,30,219,254,2,126,249,163,46,46,189,176,140,177,115,180,
240,239,254,102,46,120,228,1,95,235,204,180,147,142,142,118,152,166,137,92,46,135,137,137,137,169,32,8,126,32,10,105,230,69,193,167,36,126,92,165,214,66,118,6,57,229,155,68,79,150,125,57,11,192,223,163,
190,179,101,75,103,103,231,69,0,136,109,219,17,0,228,150,48,233,3,72,166,80,182,90,205,229,242,216,116,126,2,239,124,79,15,238,250,238,44,222,114,233,251,81,171,81,124,254,243,255,20,125,73,79,175,13,
211,0,230,231,93,248,62,69,58,109,194,15,56,106,85,6,207,243,163,12,247,232,104,18,131,195,54,10,5,15,165,82,0,22,114,104,26,129,110,80,56,14,65,87,119,189,165,77,24,0,15,253,120,10,174,27,96,227,198,
46,188,253,170,20,198,206,218,136,203,183,252,22,190,244,165,251,97,217,33,254,236,211,253,40,7,91,193,88,0,170,133,8,195,0,239,121,231,62,100,186,116,124,253,27,203,112,203,173,211,216,243,130,143,79,
127,102,4,187,118,231,240,187,159,56,20,62,240,163,10,77,56,73,210,221,211,133,84,42,133,66,161,128,153,153,153,25,223,247,239,98,140,29,18,78,223,33,225,4,202,26,192,211,50,76,242,100,68,1,142,40,97,
218,135,122,131,163,249,92,46,215,163,235,250,10,185,17,84,110,6,145,233,97,89,107,39,53,129,174,235,48,12,3,59,159,153,199,115,207,30,128,101,113,204,205,110,197,219,223,126,21,218,59,82,40,21,107,184,
232,146,12,150,44,161,248,149,95,31,194,240,112,7,38,142,87,113,240,224,60,14,31,42,65,211,53,124,247,182,44,138,197,0,87,93,211,13,219,166,104,107,215,184,105,82,146,110,211,208,222,78,177,100,137,133,
254,65,11,125,125,73,36,18,6,24,11,193,66,13,127,244,251,9,124,225,31,95,66,71,135,129,117,107,111,196,99,143,26,248,250,87,63,135,61,123,94,196,167,254,244,119,49,157,45,33,157,97,208,244,0,65,232,195,
48,24,214,172,75,96,219,67,5,20,202,26,46,127,219,32,46,122,19,225,63,188,175,76,254,224,127,29,198,243,207,86,52,211,48,225,36,234,187,128,114,185,28,102,103,103,103,124,223,191,75,172,248,60,26,253,
129,38,79,167,240,79,150,9,72,8,230,106,171,120,44,3,208,197,6,72,63,8,2,71,211,52,200,46,34,74,199,236,136,58,150,32,72,36,18,96,140,162,90,13,16,178,50,138,197,113,76,79,151,48,48,224,224,75,255,178,
10,154,206,112,199,237,53,140,46,187,4,213,74,7,254,107,235,81,156,125,246,32,126,255,247,150,192,99,1,158,125,166,140,127,249,247,149,184,241,198,12,56,231,228,130,55,165,241,142,171,150,224,188,245,
203,176,124,217,82,244,118,141,225,133,23,116,220,242,255,29,197,134,13,221,104,79,113,140,173,78,224,199,15,228,80,173,6,248,203,255,247,87,113,253,117,191,138,135,30,122,24,153,174,0,51,179,207,224,
59,223,121,16,123,247,228,0,18,162,173,13,72,37,116,28,61,70,240,192,127,229,241,206,119,13,161,82,163,225,63,253,195,177,240,179,159,62,160,29,58,232,162,206,243,219,176,44,11,181,90,13,217,108,118,58,
8,130,123,197,138,47,8,225,239,23,43,255,180,54,137,60,153,81,192,46,17,183,58,66,189,173,0,80,14,195,240,222,106,181,106,149,74,165,76,16,4,134,220,189,115,162,93,185,186,174,137,155,103,163,86,99,152,
154,202,161,88,172,226,109,87,14,224,189,239,237,193,240,146,54,220,183,53,196,95,252,217,143,241,236,206,10,62,250,209,63,194,187,174,255,13,216,206,4,242,165,253,248,183,127,153,194,230,75,211,88,186,
204,194,109,183,206,224,95,255,121,2,47,236,178,208,214,126,13,122,186,175,199,247,239,156,195,231,63,247,52,214,159,115,13,206,191,48,3,159,29,68,79,23,133,97,1,183,223,58,131,11,47,206,226,248,244,131,
248,225,214,71,241,247,255,119,9,222,245,94,130,129,65,31,135,15,213,240,131,187,115,96,160,184,104,67,6,185,130,134,239,127,111,6,135,15,122,252,239,254,250,16,223,122,207,164,230,214,8,73,36,236,104,
51,138,168,254,153,98,140,253,16,245,77,51,69,69,248,227,139,65,248,39,203,7,160,130,183,110,71,99,83,195,255,22,192,120,66,36,57,134,41,165,23,37,18,137,141,109,109,109,142,44,22,149,163,84,212,28,189,
218,99,160,92,46,163,88,44,194,48,3,12,12,104,8,195,0,231,109,26,193,37,151,246,227,161,7,167,177,118,237,165,248,196,39,222,139,100,98,43,246,28,184,15,87,95,254,18,62,240,161,12,254,252,47,134,80,113,
25,246,238,10,241,163,173,99,120,230,41,134,108,182,222,183,239,179,127,254,7,184,225,198,183,35,196,63,162,236,221,13,93,211,48,147,13,112,245,101,123,240,75,151,167,193,88,25,43,198,44,220,244,63,250,
0,232,208,97,33,132,134,35,135,125,28,159,36,40,228,57,126,112,87,150,125,235,63,143,145,92,206,37,64,61,154,209,180,104,191,1,15,195,48,23,134,225,65,0,207,137,138,233,188,120,124,89,120,252,167,156,
225,123,189,163,0,153,183,46,10,246,234,122,81,215,38,99,219,125,156,243,167,125,223,223,95,46,151,43,133,66,193,174,84,42,233,32,8,136,236,12,22,223,162,45,205,70,34,145,0,129,133,137,113,23,185,156,
15,223,171,66,211,124,140,44,51,112,255,253,219,81,174,238,192,249,23,49,244,116,26,56,124,212,195,15,239,157,195,123,62,216,133,142,20,48,52,160,97,116,172,3,247,221,59,142,217,236,94,12,14,233,56,122,
236,48,74,149,109,232,232,218,137,100,186,222,192,50,211,70,48,151,99,248,246,173,89,252,214,77,157,184,241,125,41,16,162,99,46,107,224,241,29,1,238,248,78,17,247,220,85,196,215,255,117,18,95,190,249,
40,182,61,60,7,22,2,132,80,66,53,34,106,10,162,158,69,46,99,108,43,234,155,103,166,133,70,60,170,168,253,69,35,252,147,9,0,89,44,18,136,18,166,235,197,13,40,139,63,248,152,96,189,142,114,206,247,134,97,
248,188,235,186,227,165,82,137,22,10,133,246,114,185,108,200,201,91,178,153,130,52,13,245,70,140,58,146,73,7,150,229,32,155,101,120,110,103,30,219,183,205,160,82,225,56,124,184,136,39,159,204,97,252,56,
135,109,17,220,121,199,12,40,181,113,238,121,25,248,129,141,127,248,252,179,232,232,172,224,203,255,122,62,174,191,177,19,84,59,138,255,250,209,179,248,193,221,211,48,141,20,206,94,147,1,37,26,64,9,190,
245,141,44,122,122,13,28,62,76,240,31,255,86,192,63,127,49,139,47,127,225,56,190,127,199,20,158,122,34,143,241,241,26,194,0,208,52,66,24,103,68,221,206,22,129,149,16,26,4,193,184,88,237,89,161,254,15,
160,222,245,99,81,9,255,100,134,129,234,177,9,192,167,0,124,81,252,60,43,86,64,77,152,136,14,81,75,216,78,8,233,37,132,172,48,12,99,19,128,85,150,101,13,119,116,116,56,237,237,237,144,5,38,114,111,64,
163,243,136,143,90,181,134,154,91,67,205,117,81,171,121,8,3,15,186,14,216,150,134,106,53,132,237,24,184,248,210,46,12,13,57,168,86,2,12,15,39,208,213,109,243,32,228,32,132,147,90,149,225,249,231,243,96,
33,112,246,234,52,114,115,85,236,127,185,128,167,158,204,163,84,106,54,203,154,86,175,79,32,224,240,149,65,81,13,191,165,1,218,122,173,99,128,124,126,254,101,198,216,215,68,97,231,139,49,135,111,81,13,
206,56,21,0,248,32,128,27,0,124,73,152,131,99,2,0,101,241,125,150,0,66,90,20,148,180,11,64,244,19,66,198,12,195,56,79,211,180,85,142,227,244,166,82,41,93,246,215,145,213,197,106,247,110,215,117,17,248,
178,203,88,61,70,39,4,96,45,186,121,112,78,184,184,247,132,16,192,50,197,54,115,175,65,180,213,185,42,18,245,1,172,107,33,193,96,134,1,56,107,222,210,46,133,46,65,96,24,6,116,195,192,228,196,68,217,117,
221,47,139,26,202,61,194,233,115,177,8,167,166,156,138,161,81,105,97,239,36,171,229,198,88,45,38,180,65,81,168,200,132,0,194,113,206,249,126,207,243,118,0,24,172,86,171,43,230,230,230,222,106,89,214,154,
100,50,217,212,34,46,238,56,70,181,8,173,147,85,242,25,1,234,246,26,28,168,185,62,0,2,66,32,4,77,1,112,48,206,192,25,7,231,12,190,31,190,98,83,8,53,132,53,12,3,78,194,129,109,59,40,151,74,142,231,121,
171,56,231,143,11,192,47,218,33,221,218,41,208,40,19,34,230,181,68,36,144,141,133,60,60,70,121,214,132,118,40,138,56,57,15,96,134,16,114,212,48,140,243,134,135,135,151,13,15,15,71,91,204,212,45,91,170,
144,235,130,105,94,245,63,237,86,178,58,152,88,212,227,7,28,45,27,66,168,207,27,157,62,116,88,150,141,132,147,168,143,138,115,108,16,16,146,207,231,107,140,177,231,209,104,253,242,11,161,1,184,176,249,
82,200,30,94,185,231,173,108,126,36,55,63,150,133,215,108,0,88,110,89,214,72,42,157,130,97,24,11,218,199,73,65,72,118,145,115,222,148,57,87,193,208,170,1,228,137,53,197,137,255,191,1,2,97,34,168,6,93,
55,96,91,54,108,199,134,105,24,48,13,19,162,96,53,33,252,157,180,224,72,78,219,124,224,215,219,4,48,52,250,220,4,104,116,185,250,73,192,9,21,173,192,8,33,182,97,24,93,114,143,158,84,48,4,4,148,18,16,90,
239,149,80,79,50,113,80,74,192,57,192,105,3,8,117,20,114,128,241,168,26,24,224,224,12,0,231,77,203,145,40,239,105,86,105,4,132,18,80,66,235,219,195,105,189,25,84,189,182,79,86,248,136,74,104,161,25,76,
211,132,161,27,233,32,8,186,132,191,35,205,128,255,139,0,128,16,141,218,118,254,42,120,110,9,150,245,201,100,50,109,91,118,163,59,40,175,11,14,20,245,76,34,33,240,13,13,33,99,224,140,213,157,63,222,88,
177,209,63,198,193,185,20,58,7,15,235,191,203,25,171,111,251,39,11,119,37,115,112,80,66,64,72,157,161,212,8,5,23,66,166,202,172,0,0,8,21,237,196,24,131,227,56,72,183,165,187,170,181,234,176,0,128,141,
198,136,88,254,70,7,128,186,154,241,26,254,224,177,116,58,77,100,26,153,82,10,77,215,64,3,10,45,212,160,81,10,221,52,1,74,160,133,98,19,169,20,62,120,221,155,7,171,11,93,218,116,177,234,153,112,242,100,
153,58,165,0,37,90,99,83,42,23,197,173,80,58,144,130,138,24,66,124,142,104,115,83,47,108,169,239,126,150,187,125,68,227,7,125,102,102,102,37,231,60,45,204,129,177,24,205,192,169,26,29,251,90,81,110,81,
74,7,45,203,138,50,137,144,108,155,210,86,54,12,2,33,76,222,20,212,10,95,63,18,90,99,148,96,29,0,26,231,224,92,8,156,200,186,43,209,17,44,250,255,58,72,228,135,50,241,115,99,243,234,194,233,33,114,255,
161,220,124,106,154,230,128,235,186,125,34,73,230,40,153,191,55,60,0,94,235,145,210,117,125,64,29,196,24,245,25,144,28,128,239,195,247,60,112,14,212,183,214,53,123,232,18,134,210,246,215,95,19,161,98,
125,17,131,131,131,40,38,131,169,155,84,1,17,247,51,1,50,212,1,193,27,64,83,251,15,251,65,0,63,8,96,40,211,196,108,219,78,185,174,219,43,28,193,164,136,8,252,51,0,248,73,177,36,33,109,134,97,244,203,186,
1,206,120,196,181,71,115,5,148,102,211,39,106,229,222,210,211,87,172,112,124,22,64,83,83,40,206,235,206,200,9,230,7,72,194,73,110,92,9,3,31,161,210,240,218,52,77,56,142,99,231,243,249,118,161,1,108,33,
124,29,192,197,34,73,38,219,190,205,137,220,201,156,226,3,189,46,254,194,162,4,0,165,52,109,24,70,143,164,130,25,103,11,70,187,121,190,15,22,134,96,33,67,195,159,151,247,172,193,9,156,40,204,91,32,124,
33,236,56,32,228,138,111,2,135,232,232,175,105,36,186,30,77,211,154,230,22,233,186,142,100,50,105,11,166,211,4,96,106,154,246,22,74,233,199,186,186,186,174,236,233,233,73,7,65,16,134,97,24,86,42,149,114,
161,80,56,92,169,84,182,135,97,248,48,165,244,169,48,12,143,196,120,19,254,139,100,2,218,52,77,179,213,248,63,154,15,20,181,154,9,68,179,135,186,224,126,18,233,243,147,0,208,250,181,58,160,136,194,152,
203,176,178,190,215,176,49,28,50,222,10,135,115,142,100,50,73,210,233,244,242,74,165,98,17,66,174,237,236,236,252,157,181,107,215,246,173,89,179,6,98,28,158,33,124,155,100,54,155,237,61,124,248,240,5,
199,142,29,251,157,201,201,201,167,131,32,248,235,74,165,242,95,140,49,79,104,142,83,82,53,180,40,41,74,195,48,222,213,222,222,254,142,158,158,30,162,206,31,240,60,15,174,231,193,247,60,132,190,210,106,
158,197,184,127,37,198,111,172,100,86,183,227,34,92,84,233,100,53,108,20,198,30,170,10,33,106,214,132,55,126,136,83,195,146,18,150,59,128,194,48,68,185,92,102,0,202,142,227,252,234,150,45,91,122,54,108,
216,16,245,8,74,36,234,236,97,42,149,66,79,79,15,150,45,91,134,149,43,87,82,206,249,208,204,204,204,101,156,243,90,24,134,135,5,159,242,11,3,0,170,235,250,255,51,56,56,184,78,150,151,171,163,219,101,87,
207,32,108,140,113,133,244,228,21,129,240,216,106,111,164,4,154,157,61,233,225,71,160,225,13,211,27,57,148,162,43,104,253,185,32,135,228,247,240,230,228,144,60,45,203,130,97,24,152,158,158,14,57,231,163,
155,54,109,234,93,187,118,109,83,2,169,85,187,60,219,182,49,52,52,132,84,42,149,156,154,154,122,179,87,239,35,251,50,26,77,35,79,123,147,168,83,125,44,211,117,125,125,42,149,106,154,233,167,78,12,107,
165,190,9,165,160,178,213,92,172,191,0,20,103,142,181,106,76,165,178,130,4,209,251,137,32,125,154,26,76,19,26,203,11,52,174,67,29,100,229,121,158,36,138,82,137,68,162,127,201,146,37,81,150,49,222,23,73,
130,77,214,64,88,150,133,13,27,54,96,243,230,205,142,109,219,31,183,44,235,18,212,235,44,18,39,91,102,139,81,3,92,150,201,100,62,222,223,223,175,201,68,141,58,73,204,247,125,248,129,223,68,252,68,153,
185,88,211,73,41,29,162,132,118,170,208,90,68,31,11,26,89,211,87,152,37,160,246,49,82,43,153,84,77,48,51,51,35,247,72,144,233,233,105,84,171,213,136,44,138,15,163,136,207,37,180,109,27,227,227,227,201,
106,181,90,116,93,119,63,234,27,70,106,39,147,75,88,116,0,208,52,237,19,253,253,253,23,201,225,139,170,250,151,143,44,100,117,239,95,41,204,160,90,61,57,163,246,3,142,130,126,69,3,52,49,70,106,80,15,165,
23,48,33,160,244,149,59,153,182,2,79,124,36,141,97,24,168,86,171,100,102,102,102,79,185,92,126,126,118,118,118,238,165,151,94,42,237,219,183,79,43,149,74,118,79,79,79,20,70,198,7,99,133,97,24,149,149,
31,61,122,52,240,125,127,15,26,221,196,79,218,60,193,197,22,5,116,234,186,126,81,91,91,91,75,47,62,94,11,160,174,68,74,154,213,190,4,135,116,19,56,231,13,77,16,105,4,82,39,130,72,44,223,47,50,125,84,107,
124,38,87,76,72,147,115,137,133,19,200,229,180,180,32,8,96,219,54,56,231,51,165,82,233,33,66,72,0,128,149,74,165,158,29,59,118,92,103,24,198,202,141,27,55,70,126,129,58,243,64,126,230,208,208,16,8,33,
125,0,186,209,40,188,45,227,36,109,25,91,108,0,56,207,113,156,101,142,227,44,184,185,173,134,54,196,85,119,92,77,171,128,145,66,110,242,27,16,19,62,85,128,164,53,15,164,146,159,7,198,192,99,67,50,85,129,
249,190,15,77,211,80,171,213,96,89,150,204,14,14,121,158,103,114,206,179,168,215,71,236,13,195,176,242,236,179,207,126,162,173,173,45,221,223,223,15,203,178,154,134,75,201,235,20,45,118,169,176,255,105,
37,177,20,188,17,1,176,54,157,78,119,170,55,32,174,26,227,161,91,43,32,196,71,190,72,66,9,180,121,98,232,2,240,16,218,180,234,27,101,97,164,153,33,108,49,84,42,206,87,200,193,89,162,201,85,183,231,121,
150,200,146,30,7,48,71,8,153,170,213,106,151,30,60,120,112,139,44,116,177,109,59,138,30,36,240,196,0,78,74,8,177,56,231,54,26,115,3,222,112,68,16,1,48,36,39,145,183,106,29,171,190,22,37,98,208,156,0,106,
18,44,165,160,34,187,87,87,227,44,122,29,202,0,74,153,58,34,177,217,130,148,106,11,38,154,240,19,144,71,170,25,144,90,160,90,173,194,182,109,80,74,109,212,235,30,137,160,126,103,195,48,60,238,186,238,
131,217,108,246,210,92,46,167,89,150,5,215,173,239,44,18,239,169,231,24,234,159,165,235,186,110,248,190,47,27,70,158,180,161,17,139,9,0,6,33,100,84,110,22,145,71,124,182,96,163,201,99,35,123,23,145,56,
136,241,1,0,8,37,32,140,68,41,93,66,132,47,160,118,34,165,20,154,60,117,117,174,144,214,20,49,240,24,208,184,226,177,171,251,31,85,45,32,178,132,150,224,254,77,177,130,25,128,60,99,44,231,251,62,43,22,
139,154,156,53,232,56,78,244,62,93,215,81,169,84,16,134,97,192,213,212,228,73,44,230,93,76,0,176,117,93,31,145,225,145,42,116,53,190,110,53,66,150,163,161,29,24,72,164,31,41,33,224,104,216,117,70,25,8,
167,208,168,82,57,76,32,28,62,81,99,160,233,77,113,191,92,221,65,16,128,5,65,189,134,77,225,15,192,155,203,206,130,32,136,198,226,213,231,9,133,48,77,147,160,62,91,41,41,18,67,6,0,131,82,186,222,113,28,
67,14,190,82,203,223,101,59,153,92,46,135,106,181,90,12,228,150,234,55,112,46,192,210,52,173,75,109,0,217,202,246,183,114,6,57,227,8,121,128,144,49,36,52,13,156,171,54,154,66,211,26,159,69,9,234,145,65,
68,32,17,104,100,225,80,73,181,213,29,7,234,221,205,25,131,97,89,209,123,27,244,49,160,22,152,73,192,200,174,104,34,188,237,10,195,176,83,128,192,0,176,202,48,140,55,201,190,74,241,57,202,182,93,175,132,
42,22,139,224,156,87,148,124,128,108,24,249,134,11,3,51,154,166,37,229,88,184,120,104,37,87,191,106,18,26,84,44,7,39,4,129,231,33,16,161,148,244,11,234,230,158,138,161,142,28,97,72,0,132,145,150,104,53,
82,118,193,68,49,213,236,180,136,72,120,76,22,242,119,229,117,11,51,208,227,186,110,55,99,204,22,90,224,134,100,50,185,92,206,82,146,218,67,45,45,147,163,246,40,165,114,156,188,127,178,233,224,197,4,128,
17,93,215,109,185,234,212,49,241,39,170,8,174,219,240,250,221,160,194,238,215,7,55,154,224,140,69,78,93,189,126,84,3,9,1,66,24,184,112,50,155,29,190,198,40,56,2,34,82,2,13,181,30,134,97,189,218,151,196,
106,13,68,242,9,11,114,15,205,132,142,166,105,54,165,180,135,49,70,0,156,107,24,198,123,219,219,219,237,56,184,227,90,174,86,171,33,12,67,185,165,76,237,28,242,198,2,128,40,1,75,170,246,95,93,253,241,
57,195,141,114,44,153,224,65,228,53,203,129,205,28,128,38,98,122,202,1,70,72,164,178,165,143,64,91,108,83,175,39,136,68,150,145,212,133,32,91,220,249,190,223,76,26,197,50,143,241,168,69,10,85,68,54,61,
34,150,127,103,103,103,231,217,182,109,71,243,11,84,159,70,106,17,223,247,81,46,151,121,24,134,115,49,0,188,241,52,128,97,24,35,166,105,154,106,152,119,34,45,208,188,218,36,32,194,72,136,194,115,174,55,
165,208,117,232,138,138,87,201,95,93,211,154,242,7,82,248,97,24,2,172,94,64,86,41,150,224,186,174,220,248,121,194,105,103,241,170,164,56,8,196,72,155,94,0,111,75,167,211,151,102,50,25,18,207,63,168,3,
45,228,243,90,173,86,166,148,206,133,117,2,67,118,17,127,67,2,96,192,48,140,5,53,128,126,172,244,171,5,71,172,168,220,16,148,18,4,1,139,146,46,112,28,16,177,122,101,91,250,248,24,122,85,160,145,58,102,
12,165,82,17,133,66,17,169,100,18,166,105,70,171,63,170,59,192,194,141,39,188,233,122,26,160,21,52,239,18,77,211,134,123,122,122,28,25,33,196,87,189,170,254,69,63,165,9,198,152,108,34,85,69,163,141,252,
27,7,0,134,97,104,190,239,119,74,198,46,46,252,184,15,32,87,27,151,241,60,228,13,111,174,251,115,93,183,238,31,136,24,93,182,158,143,114,240,114,213,147,250,134,19,89,99,192,57,71,177,84,66,62,159,71,
42,153,130,109,91,77,194,82,51,141,173,82,211,173,114,5,132,16,116,116,116,216,150,101,17,149,235,104,5,106,165,65,6,243,60,111,175,136,2,42,34,7,240,198,211,0,190,239,59,186,174,167,100,102,76,45,173,
82,75,172,154,24,57,117,140,171,172,8,65,99,239,8,161,20,20,64,224,249,40,161,12,217,136,130,42,218,64,238,254,149,149,197,60,224,81,39,179,124,46,135,100,50,9,203,50,23,20,158,190,82,94,34,126,141,210,
9,20,233,93,34,203,220,154,192,132,133,131,171,43,149,10,92,215,205,114,206,15,9,213,95,192,41,104,28,185,88,76,64,146,16,146,145,42,56,174,250,227,78,160,122,211,100,162,71,34,64,146,63,178,20,92,51,
116,176,144,97,126,126,62,42,182,80,135,73,75,117,95,63,67,148,74,37,204,206,206,194,182,109,216,150,165,104,29,22,133,128,145,243,241,10,135,58,144,90,245,105,164,217,137,215,17,168,206,109,16,4,40,149,
74,33,99,236,41,52,54,215,202,199,147,186,175,96,177,0,32,97,24,198,128,186,203,70,93,253,106,248,39,34,134,230,112,144,113,16,141,71,170,92,163,52,138,205,41,37,168,143,128,227,17,8,6,250,251,27,137,
38,198,235,5,166,126,128,220,92,14,217,108,22,150,101,33,145,72,68,223,173,10,80,5,228,137,180,128,172,252,145,239,107,53,74,71,189,126,21,0,210,246,251,190,255,28,231,124,167,80,253,179,2,0,213,55,36,
0,116,93,239,164,148,102,84,242,36,126,227,212,155,21,207,206,133,92,84,238,202,220,190,220,204,169,8,196,52,77,24,166,137,249,249,60,82,169,20,136,166,213,181,5,171,123,219,133,66,1,179,179,179,112,28,
39,26,109,167,218,253,184,224,37,51,123,162,2,145,120,117,143,74,107,171,21,70,241,191,171,88,44,162,82,169,204,114,206,183,115,206,101,15,133,9,212,119,77,159,244,246,50,139,2,0,132,144,213,186,174,167,
36,135,222,202,246,75,210,166,213,170,11,35,117,219,236,116,169,30,126,200,66,232,134,9,77,167,152,203,229,160,155,38,52,144,104,156,77,118,46,27,125,135,235,186,11,50,143,241,83,174,242,87,210,2,175,
20,29,196,179,140,146,54,46,20,10,46,231,252,17,206,249,180,176,251,227,2,0,167,164,173,220,162,0,64,24,134,27,44,203,210,226,49,191,154,249,147,55,73,245,3,212,136,64,210,194,80,18,67,114,115,167,108,
251,194,130,0,154,166,163,82,42,33,111,89,176,140,186,131,87,42,149,80,173,86,225,56,14,60,207,91,176,122,227,117,9,241,240,141,183,104,73,211,170,40,37,110,54,154,91,209,16,153,248,121,150,115,190,91,
120,252,114,162,72,14,39,177,12,108,177,1,160,131,82,186,193,178,172,133,45,95,20,225,74,126,95,45,22,1,128,32,12,68,165,46,5,231,97,51,21,43,202,192,40,37,0,39,8,69,33,41,227,64,33,159,135,227,56,112,
93,23,149,106,5,166,97,54,229,24,234,191,183,176,0,165,85,216,167,58,117,234,53,183,162,134,227,165,108,210,41,204,229,114,40,149,74,179,132,144,167,57,231,101,212,91,236,29,69,99,154,232,41,233,26,190,
24,0,176,220,52,205,117,178,153,116,60,148,138,59,72,136,86,53,162,150,46,84,163,160,4,96,80,242,3,10,57,212,24,78,45,200,34,65,239,202,12,156,4,149,236,107,172,154,158,86,171,54,126,141,113,86,240,149,
252,129,86,239,205,229,114,152,155,155,43,19,66,126,204,57,159,82,84,255,36,234,69,160,167,172,151,240,98,0,192,70,211,52,187,212,44,160,186,170,84,19,16,239,211,35,205,133,174,235,117,94,159,115,48,70,
162,98,143,250,123,235,102,67,68,240,11,84,186,234,173,171,54,189,158,98,102,141,250,225,152,185,81,193,248,147,28,193,86,188,129,4,101,62,159,199,244,244,116,150,115,126,191,239,251,47,10,199,239,184,
56,79,137,227,183,104,0,64,8,209,52,77,187,202,182,109,163,85,55,174,120,97,134,106,251,165,191,32,205,130,10,148,70,150,8,11,10,71,136,76,8,197,4,21,113,10,104,228,249,213,218,159,248,62,128,86,206,102,
92,232,113,71,52,62,13,181,90,173,98,106,106,170,232,121,222,86,206,249,62,161,234,199,81,239,41,60,45,194,190,83,58,48,226,116,107,128,17,93,215,55,169,69,32,234,13,107,42,253,82,108,172,124,46,213,183,
92,185,145,185,16,89,188,120,219,23,66,136,168,4,34,145,153,168,11,151,46,216,164,161,134,155,241,220,63,37,141,148,181,218,254,94,253,125,149,8,138,23,153,74,106,58,155,205,6,158,231,61,194,57,127,73,
8,95,182,145,63,118,170,85,255,162,0,0,231,124,141,97,24,75,212,126,59,113,21,169,118,8,105,149,41,20,101,211,77,218,131,83,30,101,253,234,251,248,17,165,120,201,2,45,163,53,173,108,42,10,63,79,180,170,
85,59,47,139,76,79,4,128,166,141,43,10,0,100,21,80,16,4,101,93,215,247,251,190,95,21,30,255,65,52,154,75,191,46,45,101,79,183,6,216,96,89,150,46,133,175,174,254,86,187,119,85,47,93,18,49,34,205,26,229,
220,41,165,209,94,255,122,151,207,122,36,32,247,250,115,212,157,70,4,20,36,218,19,208,104,20,21,1,67,211,162,77,35,81,72,200,25,40,161,77,69,160,146,86,142,95,183,60,213,106,35,57,53,84,102,61,197,103,
112,225,244,77,160,209,79,248,117,235,41,120,186,1,144,86,119,243,180,26,35,175,58,109,81,195,8,198,162,154,123,153,89,107,138,22,148,158,111,117,77,193,193,89,8,166,208,191,245,214,114,90,61,132,164,
162,245,28,161,77,91,193,226,180,115,220,145,147,90,40,238,167,196,243,22,106,2,42,182,123,56,25,134,97,82,168,127,57,64,210,195,235,216,73,236,116,59,129,59,107,181,26,231,156,19,181,52,43,158,236,145,
55,94,210,168,177,90,59,101,8,213,194,166,144,209,174,98,166,69,77,166,164,237,150,234,155,3,245,86,112,154,214,178,78,32,206,228,169,62,74,173,86,139,82,204,113,182,79,254,13,82,232,166,105,70,167,227,
56,72,38,147,250,220,220,92,143,106,21,95,119,26,254,52,107,128,167,106,181,218,33,207,243,70,165,42,87,227,124,213,195,87,1,33,77,128,156,51,160,2,224,149,88,184,32,8,64,69,70,78,110,223,214,141,230,
177,53,170,240,163,226,82,229,123,229,181,200,196,149,239,251,77,0,136,251,43,18,80,82,253,203,45,96,245,9,170,14,40,165,25,81,40,106,9,121,144,95,24,0,112,206,15,251,190,191,173,84,42,141,138,155,177,
32,97,210,76,245,70,118,19,65,16,32,149,74,69,189,249,84,63,162,85,50,70,254,142,84,219,213,106,21,234,36,239,120,163,6,117,83,232,137,122,19,75,208,170,78,108,43,135,81,85,253,234,60,4,177,119,80,54,
144,250,197,3,0,0,143,115,254,173,185,185,185,45,156,243,37,114,78,128,26,214,181,106,166,32,227,127,217,56,90,114,233,173,152,185,120,133,174,58,230,94,10,65,117,32,213,199,184,70,137,115,254,234,247,
171,229,108,241,236,165,116,0,229,103,74,48,151,74,37,132,97,88,64,125,175,159,129,198,182,175,215,237,56,221,253,1,40,128,41,198,216,75,213,106,53,81,169,84,150,248,190,111,168,54,54,206,164,113,206,
225,121,30,74,165,18,146,201,100,211,77,141,135,92,42,215,174,18,75,0,144,207,231,193,24,67,58,157,142,126,71,109,217,18,39,112,84,82,71,126,78,16,4,168,84,42,232,232,232,88,96,130,84,39,82,13,1,101,68,
48,55,55,135,131,7,15,230,130,32,120,64,240,254,179,226,241,167,233,173,252,134,209,0,28,245,114,167,71,57,231,179,181,90,237,9,215,117,223,158,207,231,55,38,147,201,132,180,149,241,213,41,51,118,173,
118,10,183,162,105,85,1,114,206,101,193,232,156,239,251,181,82,169,52,40,231,26,199,43,120,212,149,175,10,84,213,52,113,134,82,13,5,91,133,181,190,239,99,106,106,10,227,227,227,149,90,173,182,93,48,126,
178,171,250,235,26,1,44,22,0,4,34,252,57,4,160,202,57,223,229,121,222,6,223,247,55,82,74,251,56,231,54,33,196,166,148,38,41,165,142,166,105,38,0,219,247,125,90,40,20,144,76,38,155,182,83,171,166,67,10,
33,190,93,188,92,46,131,115,190,155,49,118,172,92,46,191,55,157,78,107,42,17,213,42,107,23,119,52,85,135,79,214,20,200,125,129,173,114,24,178,205,77,165,82,65,161,80,56,22,134,225,195,130,245,43,138,213,
63,135,147,220,254,229,231,37,25,196,208,152,41,80,149,164,8,231,252,201,48,12,187,33,218,172,134,97,152,64,163,245,186,67,41,237,207,229,114,195,133,66,97,137,109,219,29,114,91,181,140,183,91,9,30,0,
74,165,18,202,229,178,11,224,101,206,249,132,235,186,47,206,207,207,175,105,111,111,95,144,115,104,197,76,170,43,90,118,45,157,154,154,130,235,186,53,198,152,79,41,53,133,61,7,0,22,134,97,141,49,86,225,
156,215,56,231,115,65,16,28,66,99,94,176,108,171,127,4,205,243,131,95,191,80,28,139,231,160,194,39,49,81,223,59,39,103,9,201,174,24,210,73,210,197,105,8,64,12,82,74,215,18,66,214,80,74,7,77,211,76,201,
194,79,53,188,147,158,127,165,82,41,249,190,255,24,99,108,187,32,95,210,132,144,247,36,18,137,53,182,109,83,53,244,139,59,150,113,110,160,80,40,96,126,126,190,140,250,132,180,113,0,30,33,68,3,64,121,29,
113,140,16,82,19,249,253,170,80,241,174,120,44,9,245,127,76,48,128,243,120,29,166,133,47,102,0,200,235,33,66,208,134,18,30,153,66,232,242,117,121,154,2,4,41,212,219,168,141,0,56,27,141,150,106,38,234,
125,7,12,206,185,15,224,24,33,228,32,231,92,230,217,101,218,181,27,192,101,0,54,80,74,123,9,33,54,234,29,203,13,177,47,159,146,250,80,33,185,250,67,206,121,16,134,97,158,115,190,3,245,17,113,114,244,77,
21,141,210,45,181,27,149,28,171,231,138,239,158,23,106,63,39,222,247,186,219,255,197,8,128,248,117,81,113,18,229,57,85,64,162,11,144,36,133,198,104,67,99,26,153,218,167,95,23,43,75,86,213,202,74,91,89,
113,3,0,253,0,150,139,199,20,26,173,88,84,80,170,157,57,164,3,91,18,159,155,21,159,37,107,247,155,88,99,52,118,247,122,104,180,123,171,137,159,79,219,240,232,197,10,128,159,116,189,234,163,212,10,22,26,
131,172,211,104,116,232,54,20,224,112,177,2,11,66,96,210,14,19,1,160,30,97,118,82,10,112,104,11,64,170,78,172,39,18,56,50,148,171,96,97,241,166,156,150,198,208,188,199,159,225,52,79,16,249,121,3,192,43,
249,15,170,86,144,102,67,21,162,4,128,47,86,96,85,128,65,122,221,210,228,56,49,159,67,213,2,234,41,29,88,95,128,168,164,8,159,159,32,226,1,126,1,6,71,46,22,63,130,198,158,3,205,35,235,226,109,216,227,
170,158,198,86,63,98,194,87,87,118,128,147,220,185,227,12,0,78,221,223,202,79,193,189,225,56,115,156,57,206,28,103,142,51,199,153,227,231,235,248,255,1,207,70,107,249,137,16,69,141,0,0,0,0,73,69,78,68,
174,66,96,130,0,0};

const char* kittyEditor::kitty_png = (const char*) resource_kittyEditor_kitty_png;
const int kittyEditor::kitty_pngSize = 16351;
